iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 10
0
Modern Web

Rails guide / Ruby API study系列 第 10

[ Rails guide study ] Day10 partial 的使用

  • 分享至 

  • xImage
  •  

首先來聽首歌吧
Yes
今天要介紹的是 partail,那就來聽一首 part of me 吧~


Partial

Partial 也是一個很常用的功能,翻成白話文就是 "借畫面"
我們只要在想要借畫面的頁面中使用 render 的方法就可以了!但這邊的慣例要記住:要被借畫面的檔案前面需要有底線"_"的名字,否則不會成功,來看看下面的範例

目前有兩個檔案: index.html.erb 跟 _form.html.erb 都在 views/qoos 的路徑底下

#index.html.erb
<%= render "form" %>
#_form.html.erb
<h1>這是 form 的畫面喔!</h1>

最後 index.html.erb 的畫面就會渲染出 _form.html.erb 的畫面

如果要渲染不同資料夾的檔案,只要把路徑寫清楚即可

<%= render "shared/form" %>

上面的例子中會渲染 views/shared/_form.html.erb. 的畫面


同時使用 layout

我們在渲染 partial 的時候還能同時渲染 layout 喔!
但這時候需要把 partial 跟 layout 分別是哪份文件都標明清楚,可以看看下面的例子

# index.gtml.erb
<%= render partial: "form" , layout: "super" %>
# _form.html.erb
<h1>這是 form 的畫面喔!</h1>
# _super.html.erb
<h1>這是 super 的畫面喔</h1>
<%= yield %>

產生的畫面如下

這邊要特別注意注意兩點:

  1. 這邊的 layout 也是要在同一個資料夾,檔案名稱有底線的檔案喔,而不是在 layout 資料夾中的檔案!
  2. 別忘記 application 的 layout 還是會渲染出來,畫面中 application layout 那一行就是寫在 layouts/application.html.erb 的內容

接下來會介紹如果 partial 中需要變數的話要怎麼傳給他,敬請期待!

本文章同步分享於 http://anthonychao.site/


上一篇
[ Rails guide study ] Day09 yield & content_for的使用 (Layouts and Rendering in Rails part3)
下一篇
[ Rails guide study ] Day11 教你怎麼傳變數給 partial
系列文
Rails guide / Ruby API study30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言